}
static void
-gdk_x11_window_begin_frame (GdkWindow *window)
+gdk_x11_window_begin_frame (GdkWindow *window,
+ gboolean force_frame)
{
GdkWindowImplX11 *impl;
window_pre_damage (window);
}
+ else if (force_frame)
+ {
+ /* When mapping the window, we really want to freeze the
+ rendering of the window by the compositor until we've
+ actually painted something into the window's buffer. */
+ window_pre_damage (window);
+ }
else
{
hook_surface_changed (window);
ensure_sync_counter (window);
/* Start off in a frozen state - we'll finish this when we first paint */
- gdk_x11_window_begin_frame (window);
+ gdk_x11_window_begin_frame (window, TRUE);
}
static void
GdkWindow *window)
{
gdk_x11_window_predict_presentation_time (window);
- gdk_x11_window_begin_frame (window);
+ gdk_x11_window_begin_frame (window, FALSE);
}
static void